//js中维护着一个setTimeout队列，未执行的任务会放在这个setTimeOut这个队列中维护
//等到js中的普通任务执行完之后，才会执行这个setTimeOut队列 ,prmise的执行书序也在settimeOut前面,但是resolve是在普通的队列后面
for(var i=0;i<5;i++){
  setTimeout(() => {
    console.log(i)
  },0)
}
let c= function(){
  return new Promise((resolve,reject) => {
    console.log('promise开始执行')
    resolve('reolve')
  })
 }
 c().then((data) => {
   console.log('函数执行完毕'+data)
 })
 
Promise.resolve(2).then((data) => {console.log(data)}, () => {})
console.log(555)
// 555
// 10
// 10
// 10
// 10
// 10
// 10
// 10
// 10
// 10
// 10
